package soundManager 
{
	import flash.events.IEventDispatcher;
	
	/**
	 * ...
	 * @author SChabanov
	 */
	public interface ISoundItem extends IEventDispatcher
	{
		
		[Event(name = "complete", type = "flash.events.Event")]
		[Event(name = "ioError", type = "flash.events.IOErrorEvent")]
		[Event(name = "progress", type = "flash.events.ProgressEvent")]
		[Event(name = "id3", type = "flash.events.Event")]
		[Event(name = "soundComplete", type = "flash.events.Event")]
		[Event(name = "destroyed", type = "soundManager.SoundItem")]
		
		function initPlayParams(position:Number=0,loops:int=0,volume:Number=1):void
		function play():void;
		function playStream(position:Number=0,volume:Number=1,balance:Number=0):void;
		function stop():void;
		function pause():void;
				
		function get soundId():String;
		function get soundType():uint;
		
		function get isPaused():Boolean;
		function get isPlaying():Boolean;
		
		function set volume(value:Number):void
		function get volume():Number;
		
		function set balance(value:Number):void;
		function get balance():Number;
		
		function get duration():Number;
		
		function get percentsLoaded():Number;
		
		function get currentPosition():Number;
	}
	
}